package ar.com.ctrln.view.dashboard.ventas.servicio;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.select.annotation.Listen;
import org.zkoss.zk.ui.select.annotation.VariableResolver;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Button;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Window;

import ar.com.ctrln.control.ventas.servicio.ConsultarContratacionServicio;
import ar.com.ctrln.persistence.model.contratacion.ContratacionServicio;
import ar.com.ctrln.view.ui.comportamientoVentana.AbstractMinimizarVentana;

@VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class)
public class ConsultarContratacionServicioController extends
		AbstractMinimizarVentana {
	private static final long serialVersionUID = 7502446705035813926L;

	@WireVariable
	ConsultarContratacionServicio consultarContratacion;

	@Wire
	private Window wConsultarServicioCliente;

	@Wire
	private Button btDetalleContrato;

	@Wire
	private Listbox lbServiciosContratados;

	@Override
	public void doAfterCompose(Component comp) throws Exception {

		super.doAfterCompose(comp);

		lbServiciosContratados
				.setModel(new ListModelList<ContratacionServicio>(
						consultarContratacion.listarContrataciones()));

	}

	@Listen("onClick = #btDetalleContrato")
	public void mostrarDetalle() {
		if (lbServiciosContratados.getSelectedItem() == null) {
			Clients.showNotification("Seleccionar Contrato",
					lbServiciosContratados);
		} else {
			ContratacionServicio contratacion = lbServiciosContratados
					.getSelectedItem().getValue();
			wConsultarServicioCliente
					.setAttribute("contratacion", contratacion);
			Executions.createComponents(
					"/zul/ventas/contratacion/editarContratacion.zul",
					wConsultarServicioCliente, null);
		}
	}
}
